import config from './config'
const app = getApp()
/**
 * 方法说明:网络请求模块
 * var option = {
 *     url: 'API',
 *     data: {
 *       "pageNum": 1,
 *       "pageSize": 6
 *     }
 * };
 * utils.request(option,
 *   function (res) {
 * 
 *   }
 * );
 */
function request(option, successCb, errorCb, completeCb){
  // 公司Id
  wx.request({
    url: config[config.DEV_ENV].url + option.url,// 开发者服务器接口地址
    data: option.data ? option.data : {},//请求的参数
    method: option.method ? option.method : 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
    header:  { 'content-type': 'application/json' }, // 设置请求的 header
    success: function (res) {//收到开发者服务成功返回的回调函数
      if(res.statusCode == 401){
        
      } else if(res.statusCode == 200){
      }
      // console.info(res)
      isFunction(successCb) && successCb(res.data);
    },
    error: function (res) {//接口调用失败的回调函数
      // console.info('请求失败')
      // console.info(res)
      isFunction(errorCb) && errorCb();
    },
    complete: function (res) {//接口调用结束的回调函数（调用成功、失败都会执行）
      // console.info('请求完成')
      // console.info(res)
      isFunction(completeCb) && completeCb();
    }
  });
}
// /.网络请求模块

function isFunction(obj) {
  return typeof obj === 'function';
}
const call = {
   request
}
export default call